\chapter{Schedule}
\label{cap:Schedule}
\section{Tasks}
\begin{comment}
	Abbiamo analizzato il progetto, e diviso ogni singola fase in macro stask. Non
	si è scesi molto nel dettaglio dei task, in quanto crediamo che pianificare in
	maniera precisa ogni singola fase, non solo sia un lavoro difficile in fase di
	progetto, ma sia addirittura controproducente in quanto è il team che dovrebbe
	auto-organizzarsi per periodi brevi in modo da svolgere di volta in volta uno
	specifico task nel modo migliore e più efficente possibile, a seconda delle
	risorse di tempo disponibili al momento.
\end{comment}
We analyzed the whole project and divided every single phase in macro-tasks.
We didn't get into single task details, as we believe planning in such a precise way is not only a difficult work in planning phase but even
counterproductive for the planning itself; team should be able to organize itself for short period in order to perform a task step-by-step
in the smartest possible way, according to the time resources available at the moment.

\subsection{Chosen Tasks}
In the list below are shown all the tasks we found for our project life.
\noindent
\newline
\textbf{Planning:}
\begin{itemize}
 \item Task-1: Effort analysis
 \item Task-2: Tasks analysis
 \item Task-3: Tool preparation
 \item Task-4: Document writing
\end{itemize}
\textbf{RASD:}
\begin{itemize}
 \item Task-1: Use case Diagram
 \item Task-2: Requirement Document
 \item Task-3: Document writing
\end{itemize}
\textbf{Design:}
\begin{itemize}
 \item Task-1: Class Diagram
 \item Task-2: Sequence Diagram
 \item Task-3: Extra Documentation
 \item Task-4: Document writing
\end{itemize}
\clearpage
\noindent
\textbf{Implementation:}
\begin{itemize}
 \item Task-1: Interfaces and Abstract class implementation
 \item Task-2: Base functionalities
 \item Task-3: Advanced functionalities
 \item Task-4: Unity tests
\end{itemize}
\textbf{Testing:}
\begin{itemize}
 \item Task-1: Casual Input
 \item Task-2: Black Box
 \item Task-3: Throughput
\end{itemize}





\section{Schedule}
\subsection{Work Approach}
\begin{comment}
	Abbiamo deciso di seguire uno dei cicli di sviluppo agili, 'Scrum', che
	consiste nello spezzare il lavoro complessivo in periodi brevi detti 'Sprint',
	durante il quali si svolge una parte del lavoro concordato con il team. I
	vantaggi di usare un ciclo di vita agile come Scrum, sono la possibilità di
	avere sott'occhio ogni volta il lavoro da svolgere e di implementare in maniera
	incrementale l'applicazione, integrando anche il test passo per passo. Questo
	dovrebbe permettere una maggiore efficenza e una migliore flessibilità verso i
	problemi ed eventuali modifiche alle specifiche. Inoltre favorisce la
	comunicazione e la pianificazione dei dettagli del progetto 'al volo'.
	Questo ciclo di vita si scontra in parte con la struttura del progetto, che
	invece cerca di standardizzare il processo come un ciclo di vita a cascata.
	Tuttavia, visto la possibilità di modificare i documenti intermedi in ogni
	fase, si può sfruttare il più possibile l'idea alla base di Scrum e di volta in
	volta, aumentare la precisione e l'accuratezza dei documenti realizzati.
\end{comment}
We decided to follow one of the agile development cycle, 'Scrum', which consists in
splitting the whole work in short period called 'Sprint'. During each Sprint a part of the 
whole job will be performed as agreed with the team.
Advantages of this approach are the possibility to control everytime the 'everyday-work' and to implement the application 
in an incremental way, integrating tests step by step. This approach should grant much more efficiently and a better flexibility to 
the whole project. Moreover, it makes it possible to communicate and plan project detail instantly.

\noindent
This kind of life cycle is partially in contrast with the project structure which try to standardize the whole process as a waterfall cycle.
However since we have the possibility to modify each document in each phase, we can exploit the base idea of Scrum and increment 
precision and accuracy of our documents step by step.

\subsection{Milestones}
\begin{comment}
	Le milestones del progetto corrispondono alle deadline imposte dal corso: Non è
	possibile modificarle, al più sarà possibile anticipare Milestones in modo da
	avere più tempo per le deadlines successive.
	
	Le milestone sono le seguenti:
\end{comment}
Project milestones correspond to the deadlines imposed by the course: it's non possible to modify them, we just
could anticipate them in order to have much more time for the next deadlines.

\noindent
Milestones are the following:
\newline

\begin{center}
	\begin{tabular}{  l | c  }
		\hline
		\textbf{DeadLine} & \textbf{Date} \\ \hline
		Project Planning & 27/10/2012 \\ %\hline
		RASD & 24/11/2012 \\ %\hline
		Design Document & 22/12/2012  \\ %\hline
		Implementation & 26/01/2013 \\ %\hline
		Testing & 02/02/2013 \\
		\hline
	\end{tabular}
\end{center}

\subsection{Task Assignment}
\begin{comment}
	Si è deciso di fare una suddivisione grossolana dei tasks, in modo da avere
	un'idea base del lavoro da svolgere. Tuttavia, il lavoro verrà suddiviso in
	maniera equa tra tutti i membri del team, a seconda delle esigenze.
	In particolare sono stati assegnati i seguenti compiti ai membri del team:
\end{comment}
We divided tasks clumsily in order to have a basic idea of the work to do. However, 
every team component will have the same amount of work according to his needs.
\noindent
These are the tasks assigned to the team members:
\begin{center}
	\begin{tabular}{ l | l | l }
		\hline
		\textbf{Team Member} & \textbf{Development Task} & \textbf{Design task} \\   \hline
		Dave & Scrum master & Scratches of documents \\ %\hline
		Edo & Testing \& Bug fixing & Validation and correction of documents\\ %\hline %like this you bastards!!! ;)  and prevent clod from wrting too much shit! ;)
		Clod & GUI Design &  Document Drafting \\
		\hline
	\end{tabular}
\end{center}
\vspace*{2cm}
\subsection{Gantt Chart}
\begin{comment}
	Di seguito il diagramma di gantt che descrive ad alto livello le milestones (in
	questo caso anche deadlines), i task da eseguire e, indicativamente, da quali
	persone saranno svolti.
\end{comment}

We use an online tool \footnote{http://www.smartsheet.com/} to make the Gantt Chart.
Our Gantt is an 'At The Latest' one, that means our milestones are thought to be in the worst case. 
With the following Gantt we're about to high level describe the milestones (deadlines too) and tasks to follow. 
\begin{figure}[t]
	\includegraphics[angle=90,scale=0.7]{images/gantt}
\end{figure}
